package org.genko.model;
/***
 * Provides methods to create Schemes and SchemaBuilders
 * @author Israel Chapa
 */
public abstract class SchemeFactory
{
	/**
	 * Creates a default Scheme from this factory
	 * @param name the name of the Scheme
	 * @return
	 */
	public abstract Scheme createScheme(String name);

	/**
	 * Creates a SchemaBuilder implementation
	 * @return the SchemaBuilder created
	 */
	public abstract SchemaBuilder createSchemaBuilder();

	/**
	 * Returns a new instance of this factory
	 * @return a new SchemeFactory
	 */
	public static SchemeFactory newInstance()
	{
		return null; // TODO
	}
}